
//2110.股票平缓下跌阶段的数目
class Solution {
public:
    long long getDescentPeriods(vector<int>& prices) {
        //一段平滑下跌子数组的长度为k
        //其满足条件的子数组个数为:k+k-1+k-2+k-3....+1为(k+1)*k/2

        int n=prices.size();
        long long i=0,ret=0;
        while(i<n)
        {
            int start=i; //记录数组起始位置
            while(i<n-1&&prices[i]-prices[i+1]==1) i++;  //找出最长平缓数组长度

            long long k=i-start+1;  //数组长度
            ret+=(k+1)*k/2;   //子数组个数
            i++;
        }
        return ret;
    }
};